package br.com.meuvoto.partido.entity;

import java.io.Serializable;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;

import br.com.meuvoto.candidato.entity.Candidato;

@Entity
public class Partido implements Serializable {

	private static final long serialVersionUID = 3358958338101394841L;

	@Id
	@GeneratedValue
	@Column(nullable = false, unique = true)
	private long id;

	@Column(nullable = false, length = 50)
	private String titulo;

	@Column(nullable = false, length = 5)
	private String sigla;

	@Column(nullable = false, unique = true, length = 2)
	private int nuPartido;

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "partido", targetEntity = Candidato.class)
	private List<Candidato> candidatos;

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public String getTitulo() {
		return titulo;
	}

	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}

	public String getSigla() {
		return sigla;
	}

	public void setSigla(String sigla) {
		this.sigla = sigla;
	}

	public int getNuPartido() {
		return nuPartido;
	}

	public void setNuPartido(int nuPartido) {
		this.nuPartido = nuPartido;
	}

	public List<Candidato> getCandidatos() {
		return candidatos;
	}

	public void setCandidatos(List<Candidato> candidatos) {
		this.candidatos = candidatos;
	}

}
